home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Authority.sea / XML Authority / Required / Samples / Card Samples / card.xdr < prev    next >
Encoding:
Extensible Markup Language  |  2000-05-03  |  17.0 KB  |  371 lines  |  [TEXT/XMLA]

  1. <?xml version ="1.0"?>
  2. <!--Generated by XML Authority. Conforms to XML Data subset for IE 5-->
  3.  
  4. <!-- this is the CARD (Commerce Accelerated Relational Data) schema version 1.0 -->
  5. <!-- Copyright (C) 2000, infoShark, inc. -->
  6.  
  7. <!-- The main goal of this schema is to provide a common means for 
  8. describing a relational database's structure and data so that 
  9. relational databases, non-relational data stores, and software 
  10. applications could easily consume it.  Documents adhering to 
  11. this schema can provide all the necessary information to recreate 
  12. relational databases and populate them with their data.  This 
  13. information includes such things as primary/foreign key 
  14. relationships, indices, and native datatypes.  A secondary 
  15. goal of this XML schema is to provide a simple mechanism for 
  16. specifying the price of individual data points (the data found 
  17. in a given row and column).  It is infoShark's vision that 
  18. this schema would further facilitate the extraction, 
  19. transformation, and loading of data across various 
  20. Web-enabled products. -->
  21.  
  22.  
  23. <Schema name = "card.xdr"
  24.      xmlns = "urn:schemas-microsoft-com:xml-data"
  25.      xmlns:dt = "urn:schemas-microsoft-com:datatypes">
  26.     <ElementType name = "card" content = "eltOnly" order = "seq">
  27.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  28.         <AttributeType name = "distributer" dt:type = "string" required = "yes"/>
  29.         <AttributeType name = "currencyValue" dt:type = "number" required = "yes"/>
  30.         <AttributeType name = "currencyCode" dt:type = "string" required = "yes"/>
  31.         <AttributeType name = "description" dt:type = "string" required = "yes"/>
  32.         <attribute type = "name"/>
  33.         <attribute type = "distributer"/>
  34.         <attribute type = "currencyValue"/>
  35.         <attribute type = "currencyCode"/>
  36.         <attribute type = "description"/>
  37.         <element type = "dbStructures" minOccurs = "0" maxOccurs = "1"/>
  38.         <element type = "existingData" minOccurs = "0" maxOccurs = "1"/>
  39.         <element type = "alterData" minOccurs = "0" maxOccurs = "1"/>
  40.     </ElementType>
  41.     
  42.     <ElementType name = "dbStructures" content = "eltOnly" order = "seq">
  43.         <AttributeType name = "currencyValue" dt:type = "number"/>
  44.         <AttributeType name = "currencyCode" dt:type = "string"/>
  45.         <AttributeType name = "description" dt:type = "string"/>
  46.         <attribute type = "currencyValue"/>
  47.         <attribute type = "currencyCode"/>
  48.         <attribute type = "description"/>
  49.         <element type = "dbStructure" minOccurs = "1" maxOccurs = "*"/>
  50.     </ElementType>
  51.     
  52.     <ElementType name = "dbStructure" content = "eltOnly" order = "seq">
  53.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  54.         <AttributeType name = "author" dt:type = "string"/>
  55.         <AttributeType name = "dbType" dt:type = "string"/>
  56.         <AttributeType name = "dbVersion" dt:type = "string"/>
  57.         <AttributeType name = "extractDatetime" dt:type = "dateTime.tz" required = "yes"/>
  58.         <AttributeType name = "currencyValue" dt:type = "number"/>
  59.         <AttributeType name = "currencyCode" dt:type = "string"/>
  60.         <AttributeType name = "description" dt:type = "string"/>
  61.         <attribute type = "name"/>
  62.         <attribute type = "author"/>
  63.         <attribute type = "dbType"/>
  64.         <attribute type = "dbVersion"/>
  65.         <attribute type = "extractDatetime"/>
  66.         <attribute type = "currencyValue"/>
  67.         <attribute type = "currencyCode"/>
  68.         <attribute type = "description"/>
  69.         <element type = "dbSchemata"/>
  70.     </ElementType>
  71.     
  72.     <ElementType name = "dbSchemata" content = "eltOnly" order = "seq">
  73.         <element type = "dbSchema" minOccurs = "1" maxOccurs = "*"/>
  74.     </ElementType>
  75.     
  76.     <ElementType name = "dbSchema" content = "eltOnly" order = "seq">
  77.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  78.         <AttributeType name = "author" dt:type = "string"/>
  79.         <AttributeType name = "currencyValue" dt:type = "number"/>
  80.         <AttributeType name = "currencyCode" dt:type = "string"/>
  81.         <AttributeType name = "description" dt:type = "string"/>
  82.         <AttributeType name = "structureRecreationFile" dt:type = "uri"/>
  83.         <attribute type = "name"/>
  84.         <attribute type = "author"/>
  85.         <attribute type = "currencyValue"/>
  86.         <attribute type = "currencyCode"/>
  87.         <attribute type = "description"/>
  88.         <attribute type = "structureRecreationFile"/>
  89.         <element type = "tables"/>
  90.         <element type = "indices"/>
  91.         <element type = "sequences"/>
  92.     </ElementType>
  93.     
  94.     <ElementType name = "tables" content = "eltOnly" order = "seq">
  95.         <element type = "table" minOccurs = "0" maxOccurs = "*"/>
  96.     </ElementType>
  97.     
  98.     <ElementType name = "table" content = "eltOnly" order = "seq">
  99.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  100.         <AttributeType name = "author" dt:type = "string"/>
  101.         <AttributeType name = "currencyValue" dt:type = "number"/>
  102.         <AttributeType name = "currencyCode" dt:type = "string"/>
  103.         <AttributeType name = "description" dt:type = "string"/>
  104.         <attribute type = "name"/>
  105.         <attribute type = "author"/>
  106.         <attribute type = "currencyValue"/>
  107.         <attribute type = "currencyCode"/>
  108.         <attribute type = "description"/>
  109.         <element type = "columns"/>
  110.         <element type = "keys"/>
  111.         <element type = "checkConstraints"/>
  112.     </ElementType>
  113.     
  114.     <ElementType name = "columns" content = "eltOnly" order = "seq">
  115.         <element type = "column" minOccurs = "1" maxOccurs = "*"/>
  116.     </ElementType>
  117.  
  118.     <!-- Here is a listing of where each of the datatypes originated
  119.     oracle datatypes:
  120.     bfile, blob, char, clob, date, decimal, float, integer, long, long-raw, long-varchar, mlslabel, nchar, nclob, nvarchar2, number, raw, raw-mlslabel, rowid, smallint, user-defined, varchar, varchar2
  121.     
  122.     sqlserver datatypes:
  123.     binary, bit, char, datetime, decimal, float, image, int, money, numeric, real, smalldatetime, smallint, smallmoney, text, timestamp, tinyint, user-defined, varbinary, varchar
  124.     
  125.     access datatypes:
  126.     autonumber, currency, date-time, hyperlink, lookup-wizard, memo, numbers, ole-object, text, yes-no
  127.     -->
  128.     
  129.     <ElementType name = "column" content = "empty">
  130.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  131.         <AttributeType name = "linkName" dt:type = "id" required = "yes"/>
  132.         <AttributeType name = "nativeType" dt:type = "enumeration" dt:values = "autonumber bfile binary bit blob char clob currency date datetime date-time decimal float hyperlink image int integer long long-raw long-varchar lookup-wizard memo mlslabel money nchar nclob number numbers numeric nvarchar2 ole-object raw raw-mlslabel real rowid smalldatetime smallint smallmoney text timestamp tinyint user-defined varbinary varchar varchar2 yes-no" required = "yes"/>
  133.         <AttributeType name = "precision" dt:type = "string"/>
  134.         <AttributeType name = "scale" dt:type = "string"/>
  135.         <AttributeType name = "length" dt:type = "string"/>
  136.         <AttributeType name = "defaultValue" dt:type = "string"/>
  137.         <AttributeType name = "nullable" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  138.         <AttributeType name = "commonName" dt:type = "string"/>
  139.         <AttributeType name = "currencyValue" dt:type = "number"/>
  140.         <AttributeType name = "currencyCode" dt:type = "string"/>
  141.         <AttributeType name = "description" dt:type = "string"/>
  142.         <attribute type = "name"/>
  143.         <attribute type = "linkName"/>
  144.         <attribute type = "nativeType"/>
  145.         <attribute type = "precision"/>
  146.         <attribute type = "scale"/>
  147.         <attribute type = "length"/>
  148.         <attribute type = "defaultValue"/>
  149.         <attribute type = "nullable"/>
  150.         <attribute type = "commonName"/>
  151.         <attribute type = "currencyValue"/>
  152.         <attribute type = "currencyCode"/>
  153.         <attribute type = "description"/>
  154.     </ElementType>
  155.     
  156.     <ElementType name = "keys" content = "eltOnly" order = "seq">
  157.         <element type = "primaryKey" minOccurs = "0" maxOccurs = "1"/>
  158.         <element type = "foreignKey" minOccurs = "0" maxOccurs = "*"/>
  159.         <element type = "uniqueKey" minOccurs = "0" maxOccurs = "*"/>
  160.     </ElementType>
  161.     
  162.     <ElementType name = "primaryKey" content = "eltOnly" order = "seq">
  163.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  164.         <AttributeType name = "linkName" dt:type = "id" required = "yes"/>
  165.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  166.         <attribute type = "name"/>
  167.         <attribute type = "linkName"/>
  168.         <attribute type = "enabled"/>
  169.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  170.     </ElementType>
  171.     
  172.     <ElementType name = "columnLink" content = "empty">
  173.         <AttributeType name = "columnLinkName" dt:type = "idref" required = "yes"/>
  174.         <attribute type = "columnLinkName"/>
  175.     </ElementType>
  176.     
  177.     <ElementType name = "foreignKey" content = "eltOnly" order = "seq">
  178.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  179.         <AttributeType name = "keyLinkName" dt:type = "idref" required = "yes"/>
  180.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  181.         <AttributeType name = "cascadeDelete" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  182.         <attribute type = "name"/>
  183.         <attribute type = "keyLinkName"/>
  184.         <attribute type = "enabled"/>
  185.         <attribute type = "cascadeDelete"/>
  186.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  187.     </ElementType>
  188.     
  189.     <ElementType name = "uniqueKey" content = "eltOnly" order = "seq">
  190.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  191.         <AttributeType name = "linkName" dt:type = "id" required = "yes"/>
  192.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  193.         <attribute type = "name"/>
  194.         <attribute type = "linkName"/>
  195.         <attribute type = "enabled"/>
  196.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  197.     </ElementType>
  198.     
  199.     <ElementType name = "checkConstraints" content = "eltOnly" order = "seq">
  200.         <element type = "checkConstraint" minOccurs = "0" maxOccurs = "*"/>
  201.     </ElementType>
  202.     
  203.     <ElementType name = "checkConstraint" content = "eltOnly" order = "seq">
  204.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  205.         <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  206.         <attribute type = "name"/>
  207.         <attribute type = "enabled"/>
  208.         <element type = "checkConstraintValue"/>
  209.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  210.     </ElementType>
  211.     
  212.     <ElementType name = "checkConstraintValue" content = "textOnly">
  213.         <AttributeType name = "language" dt:type = "string"/>
  214.         <attribute type = "language"/>
  215.     </ElementType>
  216.     
  217.     <ElementType name = "indices" content = "eltOnly" order = "seq">
  218.         <element type = "index" minOccurs = "0" maxOccurs = "*"/>
  219.     </ElementType>
  220.     
  221.     <ElementType name = "index" content = "eltOnly" order = "seq">
  222.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  223.         <AttributeType name = "unique" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  224.         <AttributeType name = "sorting" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  225.         <AttributeType name = "order" dt:type = "enumeration" dt:values = "ascending descending" required = "yes"/>
  226.         <attribute type = "name"/>
  227.         <attribute type = "unique"/>
  228.         <attribute type = "sorting"/>
  229.         <attribute type = "order"/>
  230.         <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/>
  231.     </ElementType>
  232.     
  233.     <ElementType name = "sequences" content = "eltOnly" order = "seq">
  234.         <element type = "sequence" minOccurs = "0" maxOccurs = "*"/>
  235.     </ElementType>
  236.     
  237.     <ElementType name = "sequence" content = "textOnly">
  238.         <AttributeType name = "name" dt:type = "string" required = "yes"/>
  239.         <AttributeType name = "startingValue" dt:type = "string" required = "yes"/>
  240.         <AttributeType name = "endingValue" dt:type = "string" required = "yes"/>
  241.         <AttributeType name = "stepValue" dt:type = "string" required = "yes"/>
  242.         <AttributeType name = "cycle" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  243.         <attribute type = "name"/>
  244.         <attribute type = "startingValue"/>
  245.         <attribute type = "endingValue"/>
  246.         <attribute type = "stepValue"/>
  247.         <attribute type = "cycle"/>
  248.     </ElementType>
  249.     
  250.     <ElementType name = "existingData" content = "eltOnly" order = "seq">
  251.         <AttributeType name = "currencyValue" dt:type = "number"/>
  252.         <AttributeType name = "currencyCode" dt:type = "string"/>
  253.         <AttributeType name = "description" dt:type = "string"/>
  254.         <attribute type = "currencyValue"/>
  255.         <attribute type = "currencyCode"/>
  256.         <attribute type = "description"/>
  257.         <element type = "rows" minOccurs = "1" maxOccurs = "*"/>
  258.     </ElementType>
  259.     
  260.     <ElementType name = "rows" content = "eltOnly" order = "seq">
  261.         <AttributeType name = "dbStructureName" dt:type = "string" required = "yes"/>
  262.         <AttributeType name = "dbSchemaName" dt:type = "string" required = "yes"/>
  263.         <AttributeType name = "tableName" dt:type = "string" required = "yes"/>
  264.         <AttributeType name = "currencyValue" dt:type = "number"/>
  265.         <AttributeType name = "currencyCode" dt:type = "string"/>
  266.         <AttributeType name = "description" dt:type = "string"/>
  267.         <attribute type = "dbStructureName"/>
  268.         <attribute type = "dbSchemaName"/>
  269.         <attribute type = "tableName"/>
  270.         <attribute type = "currencyValue"/>
  271.         <attribute type = "currencyCode"/>
  272.         <attribute type = "description"/>
  273.         <element type = "row" minOccurs = "0" maxOccurs = "*"/>
  274.     </ElementType>
  275.     
  276.     <ElementType name = "row" content = "eltOnly" order = "seq">
  277.         <AttributeType name = "uniqueID" dt:type = "id" required = "yes"/>
  278.         <AttributeType name = "currencyValue" dt:type = "number"/>
  279.         <AttributeType name = "currencyCode" dt:type = "string"/>
  280.         <AttributeType name = "description" dt:type = "string"/>
  281.         <attribute type = "uniqueID"/>
  282.         <attribute type = "currencyValue"/>
  283.         <attribute type = "currencyCode"/>
  284.         <attribute type = "description"/>
  285.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  286.     </ElementType>
  287.     
  288.     <ElementType name = "columnValue" content = "textOnly">
  289.         <AttributeType name = "columnName" dt:type = "string" required = "yes"/>
  290.         <AttributeType name = "isNull" dt:type = "enumeration" dt:values = "yes no" required = "yes"/>
  291.         <AttributeType name = "currencyValue" dt:type = "number"/>
  292.         <AttributeType name = "currencyCode" dt:type = "string"/>
  293.         <AttributeType name = "description" dt:type = "string"/>
  294.         <attribute type = "columnName"/>
  295.         <attribute type = "isNull"/>
  296.         <attribute type = "currencyValue"/>
  297.         <attribute type = "currencyCode"/>
  298.         <attribute type = "description"/>
  299.     </ElementType>
  300.     
  301.     <ElementType name = "alterData" content = "eltOnly" order = "seq">
  302.         <AttributeType name = "currencyValue" dt:type = "number"/>
  303.         <AttributeType name = "currencyCode" dt:type = "string"/>
  304.         <AttributeType name = "description" dt:type = "string"/>
  305.         <attribute type = "currencyValue"/>
  306.         <attribute type = "currencyCode"/>
  307.         <attribute type = "description"/>
  308.         <element type = "data" minOccurs = "1" maxOccurs = "*"/>
  309.     </ElementType>
  310.     
  311.     <ElementType name = "data" content = "eltOnly" order = "seq">
  312.         <AttributeType name = "dbStructureName" dt:type = "string" required = "yes"/>
  313.         <AttributeType name = "dbSchemaName" dt:type = "string" required = "yes"/>
  314.         <AttributeType name = "tableName" dt:type = "string" required = "yes"/>
  315.         <AttributeType name = "currencyValue" dt:type = "number"/>
  316.         <AttributeType name = "currencyCode" dt:type = "string"/>
  317.         <AttributeType name = "description" dt:type = "string"/>
  318.         <attribute type = "dbStructureName"/>
  319.         <attribute type = "dbSchemaName"/>
  320.         <attribute type = "tableName"/>
  321.         <attribute type = "currencyValue"/>
  322.         <attribute type = "currencyCode"/>
  323.         <attribute type = "description"/>
  324.         <element type = "insertData" minOccurs = "0" maxOccurs = "*"/>
  325.         <element type = "deleteData" minOccurs = "0" maxOccurs = "*"/>
  326.         <element type = "updateData" minOccurs = "0" maxOccurs = "*"/>
  327.     </ElementType>
  328.     
  329.     <ElementType name = "insertData" content = "eltOnly" order = "seq">
  330.         <AttributeType name = "currencyValue" dt:type = "number"/>
  331.         <AttributeType name = "currencyCode" dt:type = "string"/>
  332.         <AttributeType name = "description" dt:type = "string"/>
  333.         <attribute type = "currencyValue"/>
  334.         <attribute type = "currencyCode"/>
  335.         <attribute type = "description"/>
  336.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  337.     </ElementType>
  338.     
  339.     <ElementType name = "deleteData" content = "eltOnly" order = "seq">
  340.         <AttributeType name = "currencyValue" dt:type = "number"/>
  341.         <AttributeType name = "currencyCode" dt:type = "string"/>
  342.         <AttributeType name = "description" dt:type = "string"/>
  343.         <attribute type = "currencyValue"/>
  344.         <attribute type = "currencyCode"/>
  345.         <attribute type = "description"/>
  346.         <element type = "columnValue" minOccurs = "0" maxOccurs = "*"/>
  347.     </ElementType>
  348.     
  349.     <ElementType name = "updateData" content = "eltOnly" order = "seq">
  350.         <AttributeType name = "currencyValue" dt:type = "number"/>
  351.         <AttributeType name = "currencyCode" dt:type = "string"/>
  352.         <AttributeType name = "description" dt:type = "string"/>
  353.         <attribute type = "currencyValue"/>
  354.         <attribute type = "currencyCode"/>
  355.         <attribute type = "description"/>
  356.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  357.         <element type = "previousData" minOccurs = "0" maxOccurs = "1"/>
  358.     </ElementType>
  359.     
  360.     <ElementType name = "previousData" content = "eltOnly" order = "seq">
  361.         <AttributeType name = "currencyValue" dt:type = "number"/>
  362.         <AttributeType name = "currencyCode" dt:type = "string"/>
  363.         <AttributeType name = "description" dt:type = "string"/>
  364.         <attribute type = "currencyValue"/>
  365.         <attribute type = "currencyCode"/>
  366.         <attribute type = "description"/>
  367.         <element type = "columnValue" minOccurs = "1" maxOccurs = "*"/>
  368.     </ElementType>
  369.     
  370. </Schema>
  371.